/**
 * 让一个盒子进行运动
 * @param {*} object 运动对象
 * @param {*} targetPosition 目标位置
 * @param {*} callback 回调函数
 */
function animate(object, targetPosition, callback) {
  // 为了如果点击了多次按钮只开启一次定时器
  clearInterval(object.timer);
  object.timer = setInterval(function () {
    // 声明一个变量 表示 步长值  目标位置 - 当前位置
    var step = (targetPosition - object.offsetLeft) / 10;
    // 如果step大于0 表示往右走  向上取整
    step = step > 0 ? Math.ceil(step) : Math.floor(step);

    if (object.offsetLeft == targetPosition) {
      // 停止动画 本质是停止定时器
      // 如果callback传递过来了 才执行
      if (callback) {
        callback();
      }
      return clearInterval(object.timer);
    }
    object.style.left = object.offsetLeft + step + "px";
  }, 15);
}
